package com.roads.supervisor.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.roads.common.annotation.Excel;
import com.roads.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 监理工期对象 sup_period
 *
 * @author nhp
 * @date 2022-07-07
 */
public class SupPeriod extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 工期ID
     */
    private Long periodId;

    /**
     * 期次
     */
    private String periodName;

    /**
     * 机构编码
     */
    private String institutionCode;

    /**
     * 开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date beginDate;

    /**
     * 截止日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    /**
     * 年
     */
    private String year;

    /**
     * 月
     */
    private String month;

    /**
     * 模板编号
     */
    private String templateCode;

    /**
     * 模板名称
     */
    private String templateName;

    /**
     * 是否锁定 0 否 1 是
     */
    private String isLock;

    /**
     * 是否计量 0 否 1 是
     */
    private String isMeterage;

    /**
     * 当前计量 0 否 1 是
     */
    private String currentMeterage;


    public void setPeriodId(Long periodId) {
        this.periodId = periodId;
    }

    public Long getPeriodId() {
        return periodId;
    }

    public void setPeriodName(String periodName) {
        this.periodName = periodName;
    }

    public String getPeriodName() {
        return periodName;
    }

    public void setInstitutionCode(String institutionCode) {
        this.institutionCode = institutionCode;
    }

    public String getInstitutionCode() {
        return institutionCode;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getYear() {
        return year;
    }

    public void setMonth(String month) {
        this.month = month;
    }

    public String getMonth() {
        return month;
    }

    public String getTemplateCode() {
        return templateCode;
    }

    public void setTemplateCode(String templateCode) {
        this.templateCode = templateCode;
    }

    public String getTemplateName() {
        return templateName;
    }

    public void setTemplateName(String templateName) {
        this.templateName = templateName;
    }

    public void setIsLock(String isLock) {
        this.isLock = isLock;
    }

    public String getIsLock() {
        return isLock;
    }

    public void setIsMeterage(String isMeterage) {
        this.isMeterage = isMeterage;
    }

    public String getIsMeterage() {
        return isMeterage;
    }

    public void setCurrentMeterage(String currentMeterage) {
        this.currentMeterage = currentMeterage;
    }

    public String getCurrentMeterage() {
        return currentMeterage;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("periodId", getPeriodId())
                .append("periodName", getPeriodName())
                .append("institutionCode", getInstitutionCode())
                .append("beginDate", getBeginDate())
                .append("endDate", getEndDate())
                .append("year", getYear())
                .append("month", getMonth())
                .append("templateCode", getTemplateCode())
                .append("templateName", getTemplateName())
                .append("isLock", getIsLock())
                .append("isMeterage", getIsMeterage())
                .append("currentMeterage", getCurrentMeterage())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }

}
